
// <copyright file="DynamicDAO.Nested.cs" company="Subhadra Software Solutions">
//   
// </copyright>
// <summary>
//   The dynamic dao.
// </summary>

namespace SubhadraSolutions.Sharp.Utils.Data.Dynamic
{
    using System.Collections.Generic;
    using System.Reflection;

    /// <summary>
    /// The dynamic dao.
    /// </summary>
    /// <typeparam name="E">
    /// </typeparam>
    public static partial class DynamicDAO<E>
    {
        /// <summary>
        /// The meta data.
        /// </summary>
        private sealed class MetaData
        {
            #region Constructors and Finalizers

            /// <summary>
            /// Initializes a new instance of the <see cref="MetaData"/> class.
            /// </summary>
            public MetaData()
            {
                this.KeyProperties = new List<KeyValuePair<PropertyInfo, IDbColumnMetadata>>();
                this.NonKeyProperties = new List<KeyValuePair<PropertyInfo, IDbColumnMetadata>>();
            }

            #endregion Constructors and Finalizers

            #region Public Properties

            /// <summary>
            /// Gets the key properties.
            /// </summary>
            public List<KeyValuePair<PropertyInfo, IDbColumnMetadata>> KeyProperties { get; private set; }

            /// <summary>
            /// Gets the non key properties.
            /// </summary>
            public List<KeyValuePair<PropertyInfo, IDbColumnMetadata>> NonKeyProperties { get; private set; }

            #endregion Public Properties
        }
    }
}
